**Housekeeping
clear all
cap log close
log using ${rep_root}/logs/inv_sup_status_tab_hetero.log, text replace
set more off

 
 
local cutoff = 50  
local seed = 9999  
local case_lb = `cutoff'

local covars vic_female_any vic_white_any acc_white acc_male acc_old cat_3 cat_4 d_mo_* d_dist_* arrests_pre complaints_pre force_pre any_prior_complaint tenure po
local heterolist    low_tenure high_tenure force nonforce
 
*****************
**BRING IN CASE STATUS + COMPLAINTS DATA AND APPLY DATA RESTRICTION
***************** 

do ${rep_root}/code/data_restrict.do	
 
*****************
**MERGE WITH OUTCOMES DATA
*****************  
 
merge 1:1 cr_id acc_id using ${rep_root}/data/outcomes, keep(3) nogen 

**drop if accused are not police officers
//drop if acc_rank != "POLICE OFFICER"


*****************
**DEFINE TREATMENT AND MAKE COVARIATES
***************** 

**Drop investigators without enough cases
tab inv_id
sort inv_id 
by inv_id: gen inv_ct = _N
drop if inv_ct<`case_lb'
tab inv_id intake_yr

**Define some covariates
gen po = acc_rank == "POLICE OFFICER"
gen minor_inj = vic_inj_1<=1
gen vic_old = (year(inc_complaint_dt_1) - vic_byr_oldest)>=35 & !missing(vic_byr_oldest)
gen acc_old = acc_age>=35 & !missing(acc_age)
gen cat_3 = acc_cat==3
gen cat_4 = acc_cat==4
 
 

forvalues i = 1/25{
	gen d_dist_`i' = inc_district_1==`i'
}
forvalues yr = 2006/2008{
	gen d_yr_`yr' = intake_yr==`yr'

	forvalues m = 1/12{
		gen d_mo_yr_`m'_`yr' = intake_yr==`yr' & intake_mo==`m'
	}
	
}
forvalues yr = 2014/2018{
	gen d_yr_`yr' = intake_yr==`yr'
	
	forvalues m = 1/12{
		gen d_mo_yr_`m'_`yr' = intake_yr==`yr' & intake_mo==`m'
	}
}

 

**Define treatment
 

gen treat_affidavit = finding_cd != "NO AFFIDAVIT" 
gen treat_penalty = finding_cd == "SUSTAINED" | finding_cd == "NOT SUSTAINED"    
gen treat_sustain = finding_cd == "SUSTAINED"   

local treat_vars treat_affidavit  




*****************
**STORE FIRST STAGE
*****************  

foreach t in treat_affidavit  treat_sustain{

**Create LOM
capture drop resid cr_resid cr_ct inv_tot_resid case inv_ct2  
qui reg `t' `covars'
predict resid, residuals

sort cr_id
by cr_id: egen cr_resid = total(resid)
by cr_id: gen cr_ct = _N

sort inv_id intake_yr intake_mo
gen case = 1
by inv_id intake_yr: egen inv_tot_resid = total(resid)
by inv_id intake_yr: egen inv_ct2 = total(case)
gen lom_`t' = (inv_tot_resid - cr_resid)/(inv_ct2-cr_ct)

 


sort inv_id
by inv_id: sum lom_`t'
}
 

 

texdoc init ${rep_root}/output/tables/inv_sup_hetero.tex, replace force
tex \begin{tabular}{l*{4}{c}}
tex \hline\hline
tex                   &\multicolumn{1}{c}{Complaints}   &\multicolumn{1}{c}{Arrests}&\multicolumn{1}{c}{Type 1 Arrests} \\

texdoc close

foreach hetero of local heterolist  {
 
	if "`hetero'" == "before" global rest intake_yearmo<ym(2015,11)
	if "`hetero'" == "after" global rest intake_yearmo>=ym(2015,11)
	if "`hetero'" == "force" global rest cat_4==1
	if "`hetero'" == "nonforce" global rest cat_4 == 0 
	if "`hetero'" == "low_tenure" global rest tenure<10
	if "`hetero'" == "high_tenure" global rest tenure>=10 
	
preserve
keep if $rest 


**************************
**OLS RESULTS
**************************



**First stage
foreach t in treat_affidavit{

sum `t'
local first_mean = r(mean)

reg `t' lom_`t' `covars', cluster(inv_id)
local first = _b[lom_`t']
local first_se = _se[lom_`t']
local first_N = e(N)
boottest lom_`t', weight(webb) nograph seed(`seed')
local first_f = r(t)^2
local first_p = r(p)

local first : di %6.3f `first'
local first_f : di %6.3f `first_f'

local first_mean_`t' : di %6.3f `first_mean'
local first_`t' : di %6.3f `first'
local first_se_`t' : di %6.3f `first_se'
local first_p_`t' : di %6.3f `first_p'
glo first_star_`t' = cond(`first_p_`t'' <0.01, "***", cond(`first_p_`t'' <0.05, "**", cond(`first_p_`t'' <0.1, "*", "")))
local first_f_`t' : di %6.3f `first_f'
local first_N_`t' : di %6.0f `first_N'
 
}


**get outcomes

  
 

local varlist complaints_postc1_3 arrests_postc1_3 type1_arrests_postc1_3 
 foreach t of local treat_vars{      
 

 
**Create Tables


**Create Tables
foreach var of local varlist{
	
	reg `var' lom_`t' lom_treat_sustain `covars' , cluster(inv_id)
 
	local beta`var' = _b[lom_`t']
 	
	boottest lom_`t', weight(webb)  nograph seed(`seed')
	
	
/*
 ivreg `var' `covars' lom_treat_sustain (`t'=lom_`t'), cluster(inv_id)
	local beta`var' = _b[`t']
 	
	boottest `t', weight(webb)  nograph seed(`seed')
*/
local p`var' = r(p)
display r(p)


//get stars based on bootstrapped p values 
glo star_`var' = cond(`p`var'' <0.01, "***", cond(`p`var'' <0.05, "**", cond(`p`var'' <0.1, "*", "")))
local p`var' : di %6.3f `p`var'' 

matrix b`var' = e(b)
matrix v`var' = e(V)
scalar N= e(N)
local N`var' = N


local se`var' = sqrt(v`var'[1,1])

local beta`var' : di %6.3f `beta`var''
local se`var' : di %6.3f `se`var''
local N`var' : di %7.0fc `N`var''



sum `var'
local mean_`var' =r(mean)
local mean_`var' : di %6.2f `mean_`var''
}	 

if "`hetero'" == "before" local varname = "Before McDonald"
if "`hetero'" == "after" local varname = "After McDonald"
 
if "`hetero'" == "low_tenure" local varname = "Low tenure"
if "`hetero'" == "high_tenure" local varname = "High tenure"
if "`hetero'" == "any_prior" local varname = "Prior complaints"
if "`hetero'" == "force" local varname = "Force complaints"
if "`hetero'" == "nonforce" local varname = "Non-force complaints"
 

 
texdoc init ${rep_root}/output/tables/inv_sup_hetero.tex, append force  
tex \hline 
tex `varname' & `betacomplaints_postc1_3'${star_complaints_postc1_3} & `betaarrests_postc1_3'${star_arrests_postc1_3} & `betatype1_arrests_postc1_3'${star_type1_arrests_postc1_3} \\
tex       & (`secomplaints_postc1_3')     & (`searrests_postc1_3') & (`setype1_arrests_postc1_3')   \\
tex Bootstrap P & [`pcomplaints_postc1_3']& [`parrests_postc1_3']& [`ptype1_arrests_postc1_3']  \\
tex Dep. var. mean & `mean_complaints_postc1_3'& `mean_arrests_postc1_3'& `mean_type1_arrests_postc1_3'  \\
tex Observations & `Ncomplaints_postc1_3' & `Narrests_postc1_3'& `Ntype1_arrests_postc1_3'  \\
//tex First stage & `first'& `first'& `first'   \\
//tex First stage F-stat & `first_f'& `first_f'& `first_f'   \\

texdoc close
   

}

restore
}

texdoc init ${rep_root}/output/tables/inv_sup_hetero.tex, append force

tex \hline\hline
tex \end{tabular}

texdoc close
  

 
log close
*clear
